#ifndef __INCLUDED_EXTRALIB_H
#define __INCLUDED_EXTRALIB_H

// HL SDK
#include <extdll.h>

// METAMOD
#include <meta_api.h>
#include <dllapi.h>

// AMXX
#include "amxxmodule.h"

#define EXPORT_NATIVE(name) cell AMX_NATIVE_CALL export_##name(AMX *amx, cell *params)
#define EXPORT_PAIR(name) {#name, export_##name}

typedef int t_PluginID;

const int
	Bitwise_Overwrite = 0,
	Bitwise_AND = 1,
	Bitwise_OR = 2,
	Bitwise_XOR = 3;

struct t_Messages
{
	int ShowMenu;
};
extern t_Messages g_Messages;

namespace MenuNode
{
	extern AMX_NATIVE_INFO ExportNatives[];

	void hook_ClientCommand(edict_t *pEntity);
	void hook_PlayerPostThink(edict_t *pEntity);
}

#endif // __INCLUDED_EXTRALIB_H